package com.game_info.service;

import java.util.List;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.game_info.vo.Games;
import com.game_info.vo.gImage;
import org.springframework.stereotype.Service;

/**
 * games表Service接口
 * 
 * @author ttj
 * @date 2020-04-09
 */
@Service
public interface GamesService
{
    /**
     * 根据id查单个游戏
     * 
     * @param gId 游戏ID
     * @return games对象
     */
    public Games selectGamesById(Integer gId);

    /**
     * 查询全部游戏列表
     * 
     * @param games 对象
     * @return games集合
     */
    public List<Games> selectGamesList(Games games);

    /**
     * 根据关键词模糊查询全部字段信息
     * @param keyword
     * @return
     */
    public List<Games> selectLikeKeyword(String keyword);

    /**
     * 分页查询
     * @param startPages
     * @param pagesSize
     * @return
     */
    public List<Games> selectGamesListLimit(Integer startPages,Integer pagesSize);

    /**
     * 获取数据总数
     * @return
     */
    public Integer selectListCount();

    /**
     * 根据id修改预览图路径
     * @param gImage
     * @param gId
     * @return
     */
    public Integer updateGimageById(gImage gImage, Integer gId) throws JsonProcessingException;

    /**
     * 新增
     * 
     * @param games
     * @return 结果
     */
    public int insertGames(Games games);

    /**
     * 修改
     * 
     * @param games
     * @return 结果
     */
    public int updateGames(Games games);

    /**
     * 批量删除
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteGamesByIds(String ids);

    /**
     * 删除
     * 
     * @param gId
     * @return 结果
     */
    public int deleteGamesById(Integer gId);
}
